1. Field of Invention
This invention pertains to speech and acoustic signal processing, and particularly to cancellation of echoes.
2. Related Art and Other Considerations
Echo cancellers are widely used both in terrestrial and atmospheric (i.e. radio, microwave) communication to eliminate the "echo" phenomenon which greatly affects the quality of speech and audio services. An echo canceller essentially uses a copy of the data incoming to a listener to digitally estimate the echo that should return on the outgoing line. Having calculated the estimate, the echo canceller subtracts the echo estimate from the outgoing signal such that the echo cancels out.
An example of the problem of echo occurs in telephonic transmissions. In most cases, a phone conversation is transmitted between terminating equipment (TE) and a hybrid transformer circuit over a pair of unidirectional 2-wire lines (i.e., over four wires), and then from the hybrid circuit over a bidirectional 2-wire line. Thus, the junction between the two types of lines is implemented by the hybrid transformer. Since hybrid transformers are balanced for an average line impedance, they do not perfectly separate the two unidirectional paths from each other, and therefore they create echo signals. Moreover, if a delay is introduced in the four wire path (as can occur for satellite transmission or for digital encoding), the echoes must be canceled to ensure better speech quality.
Simply speaking, echo cancellers typically employ an adaptive finite impulse response (FIR) digital filter; a cancellation processor for controlling the FIR; a subtractor; a near-end speech detector; and, a non-linear processor. The FIR receives the copy of the data (as it is successively sampled) which is transmitted from the far end on an incoming communications path to the near end. The FIR generates an estimate of the echo which would, unless canceled, be reflected back from the near end to the far end on an outgoing communications path. At the appropriate time, the FIR's estimate of the echo is subtracted by the subtractor from the signal on the outgoing communications path in an attempt to cancel out the echo. In generating its estimate of the echo, the FIR is controlled by the cancellation processor. In controlling the FIR the cancellation processor takes into consideration the signal output from the subtractor as well as any indication from the near-end speech detector that double-talk is occurring (e.g., that both parties at the far and near end are talking). The non-linear processor attempts to suppress any remaining amount of echo which the FIR is unable to cancel.
The FIR is a transversal filter with a number of taps and a corresponding number of coefficients. A tap is a unit of delay time equal to the sampling time or sampling rate. The coefficients are values (stored in registers) which are multiplied by the input signal in order to obtain the echo estimate. The cancellation processor executes an algorithm for adapting (e.g., modifying or updating) the filter coefficients, so that the filter coefficients converge to optimum (or near optimum) values faster than the echo response characteristics change and thereby enable cancellation of the echo.
In most echo cancelers such adaptation does not occur while the near-end speech detector detects the double-talk condition. The length of the FIR (number of taps) and the rate at which the coefficients must be updated depends on the type of service, the path (e.g., line) characteristics, and the distance of the echo source from the canceller.
Many conventional echo cancellers implement classical gradient adaptive filter algorithms such as the Least Mean Squared (LMS) and its normalized variation. The problem with these conventional algorithms is that, although they are among the simplest in terms of computational complexity, they still pose a great burden on digital signal processing devices. This inevitably increases the cost of such devices, even when pooled and thus shared among channels. Certain adaptive filtering algorithms with lower computational complexity have emerged, such as the Sign family of algorithms, but their slow convergence and instability concerns have impeded their exploitation in the field of echo cancellers. Another simplification has been that of using block algorithms, such that the adaptation is performed only once every "n" samples. Block algorithms reduce complexity but decrease the ability of the echo canceller to adapt to variations.
It is known to use the signal level on the incoming communications path to influence the operation of echo cancelers. U.S. Pat. No. 4,712,235 to Jones uses the received signal activity for controlling updating of the adaptive filter of an echo canceller. U.S. Pat. No. 5,315,585 to Iizuka et al. mentions as prior art the inhibiting of updating of filter coefficients during double talking or during a period when a low level detector detects a linear receive input signal having a low level. In U.S. Pat. No. 4,894,820 to Miyamoto et al., if the received signal is idle, the estimation function of an adaptive digital filter is inhibited.
What is needed is an echo cancellation method and apparatus which effectively minimizes operation of the FIR during incoming periods of silence, and thereby minimizes the computational complexity of the echo cancellation operation.